#pragma once
#include "Character.h"

class Character;
class Quest;

struct Phrase
{
	string phrase;

	Phrase* nextPhrase;
	vector<string> options;
	vector<Phrase*> optionPhrase;
	unsigned int selected;
	Quest* quest;

	static Phrase* CreatePhrase(string aPhrase);
	Phrase* AddOption(string aName, Phrase* aPhrase);
	Phrase* AddSubPhrase(string aPhrase);

	void AdvanceQuestStatus();
	bool IsNextQuestStatus();
	void SetNextQuestStatus(int aNextQuestStatus, Quest* aQuest);

	~Phrase();

	private:
		int nextQuestStatus;
};

class Sentence
{
	public:
		static Phrase* GetSentence(Character* aCharacter);

	private:
		static vector<vector<Phrase*>> phrases;
		static bool init;

		Sentence();
		~Sentence();

		static void Init();
};

